package org.atlantis.grosbeak.depot.proxy;

import org.atlantis.grosbeak.depot.DepotMaker;
import org.atlantis.grosbeak.depot.desc.ValueDesc;

/**
 * 值代理生成器。生成一个值的代理对象。
 * 
 * @author <a href="mailto:seenoevil.cn@gmail.com">SeeNoEvil</a>
 * 
 */
public interface ValueProxyMaker {

	/**
	 * 生成一个值的代理对象。此方法会根据ValueDesc的不同的描述来生成不同实现的值代理。
	 * 
	 * @param maker
	 *            DepotMaker对象。
	 * @param vd
	 *            配置文件中值的描述。
	 * @return 代理对象。
	 */
	ValueProxy make(DepotMaker maker, ValueDesc vd);
}
